// utils/qiniu.js
import { getToken } from '@/api/qiniu';

let qiniuToken = null;
let qiniuTokenPromise = null;

export function fetchQiniuToken() {
  if (qiniuToken) {
    return Promise.resolve(qiniuToken);
  }

  if (!qiniuTokenPromise) {
    qiniuTokenPromise = getToken({}).then((res) => {
      qiniuToken = res;
      qiniuTokenPromise = null; // 清空 promise，防止下次请求失败无法重新获取
      return qiniuToken;
    });
  }

  return qiniuTokenPromise;
}
